终于有人把 Skills、CLIs 和 MCP 讲明白了
悟鸣AI 2026年6月12日 08:02
大家好,我是悟鸣。
最近好多朋友问我 Skills、CLIs 和 MCP 有什么区别?
我发现很多人的理解有偏差。
)
最近瑞幸咖啡也发布了自己的 CLI,很多人就更懵了,到底 CLI 是什么?
很多朋友可能也问过 AI,但回答还是有点抽象,理解起来不够有体感。
今天我用一个真实的待办软件案例,尽量把这几个概念讲得更清楚一点。
)
我前两天的公众号文章中写到,我自己用半小时的时间动动嘴,就创建出了一个非常满足我个性化需求的待办软件。
)
使用的时候,像我们之前一样,需要进行以下操作:
- 点击新建
- 创建任务
- 创建子任务
- 选择时间
- 选择状态
这一切看起来好像也很正常。
实际上操作起来非常“低效”,每次都要点击新建任务,手动填写标题、选择时间、状态、详情、子任务等。
详情参见: 为了省下 1000 元,我用 CodeX 30 分钟零代码造了个专属软件
类似的,很多朋友在企业内部也会有各种各样的平台,需要你在浏览器上执行各种操作,也非常低效。
)
CLI 是 Command Line Interface,命令行界面 。简单说,就是不用点按钮,而是通过一行行命令跟软件或平台交互。
现在很多平台都会封装 CLI,因为它比网页点击更适合自动化、批量处理、复现操作和接入工程工作流,也更方便被 AI Agent 调用;网页适合人看和配置,CLI 则适合脚本、CI/CD 和系统之间稳定协作。
)
比如说,前段时间爆火的 OpenClaw,你访问它的官网,就可以复制安装指令,自动完成安装。
很多人熟知的 git、npm、docker 等都是 CLI 工具。
为了解决界面操作低效的问题,我们可以快速创建 CLI,让智能体自动帮我们执行相关操作。
)
我们直接让 CodeX 基于之前的仓库代码创建一个对应的 CLI。
)
这样一来,我们自己或者智能体就可以通过指令绕过界面,直接执行相关的操作。
)
现在界面状态如图所示。
)
创建完之后,我们哪怕不打开上述软件,也可以直接通过这个 CLI 读取“学习”目录下有哪些任务,以及它们的状态分别是什么样子。
你看,这样我们完全不用再打开网页,就可以直接看到这些数据了。
)
我们还可以继续询问界面上支持的所有功能。比如说,继续查看一下悟鸣的 B 站课程现在的学习进度。
有些同学可能会说了,这感觉也没什么呀,对吧?那我直接看界面不是更方便吗?
重点在后面:它可以把创建、查询、更新这些动作交给 Agent。
)
比如说,你可以让它帮你创建一个待办。你只需要把任务大概描述一下,它就能快速帮你创建好,全程不用打开界面。
)
该 CLI 我已经在观猹网的 GitHub 仓库中开源出来,名称为:task-manager-cli
当然,我这里只是一个简单的演示,实际上你的系统可能会非常复杂。
你可以把对应的信息放进来,直接动动嘴,就有机会完成过去很枯燥、很麻烦,甚至需要几十分钟才能完成的工作。
而且你可以通过 CLI 打通多个系统。
篇幅有限,这里就不展开介绍了,大家感兴趣改天详细介绍一下 B 端系统如何封装为 CLI,里面有哪些坑和经验。
看到这里,有些朋友又会问:每次使用都要说“通过 task-manager-cli”,多麻烦啊!
这时候,Skills 就该上场了。
)
Skills 是 Agent 用的“可复用能力包”。
你可以把自己的标准流程告诉它,让它把流程、文档、领域经验、脚本等封装成一个技能。
安装好以后,智能体在启动时,技能的名称和描述始终会存在于它的上下文中。
当你的描述和它的触发条件一致时,它就能自动调用。
)
Skills 的优势在于渐进式加载,即头部的元信息(名称和描述)始终加载,激活时加载 SKILL.md,内部的其他文件按照需要才加载。
因此稍微多装几个 Skills,一个 Skill 中有很多文件,也不会带来上下文的巨大占用。
当然 Skills 也不是装得越多越好。Skills 装得过多也会造成上下文大量占用,而且很容易造成“误触发”等,因此,推荐仅装必要的 Skills。
)
在很多 Agent 工具中都可以查看已经安装的技能,也可以关闭或卸载。
)
Skills 可以单独使用,也可以多个一起使用。
比如说,我前几天公众号中提到的: 对不起,我不续费了,这个 Skill 一年帮我省下上千块钱
我自己搞了三个技能:
- 录音转文本的技能
- 字幕校对的技能
- 回流到个人知识库的技能
只要给它一个录音稿,告诉它需要做这些事情,它就会依次调用这些技能,自动帮我把整套工作做完。
)
为了让智能体始终知道我们有一个待办清单工具可以使用,我们就可以在 CLI 基础上,封装一个对应的 Skill。
通常 Skill 中会包括 CLI 的自动安装指令和常见功能说明。
)
比如说,我们让它查询一下“学习任务”中都有哪些计划,它也可以非常顺利地查出来。
)
甚至,我们让它在“学习任务”中新增一个计划,它也可以在智能体里自动帮我们操作。
)
我打开软件,也可以看到它能够正常地被添加进去。
)
该 Skill 我已经在观猹网的 GitHub 仓库中开源出来,名称为:task-manager-skill
)
通常来说,企业内部的各种平台(如财务系统、法务系统、数据平台、报表系统等)都要去创建对应的 CLI。如果是 Node 类型的 CLI,通常发布到公司内部的 npm 仓库中。
但是,CLI 想让智能体更好地感知和使用,通常还要再封装一个对应的 Skill。
这样,你就可以通过自然语言,让一个复杂任务在智能体里串起多个平台,减少大量重复操作。
)
每个人也可以把自己的工作经验(其中一部分会涉及上述平台操作)封装成自己的 Skills,进一步提效。我个人认为:个性化且持续迭代的 Skills 才更有用!这也是很多人下了一堆 Skills 却感觉没啥用的重要原因。
团队再把这些个人 Skills 统一管理和维护,就能慢慢沉淀成团队经验资产。团队 Skills 仓库建设也有很多经验,如通过 AGENTS.md 统一规范流程,篇幅有限改天再聊。
)
MCP,全称是 Model Context Protocol,可以先把它理解成:让 AI 应用连接外部工具、数据和系统的一套通用协议。
更通俗点说,MCP 就像是 AI 世界里的“USB-C 接口”。
)
各种工具和平台可以通过 MCP 协议接入 Agent,让用户基于自然语言自动完成操作。
)
那 Skills 和 MCP 有什么区别呢?
大家可以看上面这张图:Skills 主要承载知识和经验;MCP 主要提供外部工具和数据连接能力。
Skills 渐进式加载可以极大减少上下文占用,MCP 则启动时加载工具定义。Skills Markdown 即可编写, MCP 需要编码和服务部署等。
这也是很多人说“Skills 取代 MCP”的一个重要原因。
)
那 CLIs 和 MCP 有什么区别呢?
CLI 更像是给某个系统提供一套可执行命令,让人、脚本或 Agent 都能稳定调用;MCP 更像是一套通用连接协议,让不同 AI 应用用更统一的方式发现和调用外部工具。
不过在企业内部落地时,MCP 也会遇到一些现实问题。比如 MCP Server 建设和维护有成本,工具信息会占用上下文,有些 MCP 的稳定性也需要继续打磨。
所以根据我个人的观察,很多企业在打通内部系统时,仍然会优先选择 Skills + CLIs 这条路线,充分利用 Skills 的渐进式加载和 CLIs 轻量和高效。
)
回到开头提到的瑞幸咖啡,它同时提供了 MCP、CLI 和 Skills,本质上也是在照顾不同工具、不同使用习惯的人。
如果用一句话总结:
CLI 让系统能力可以被稳定调用;
Skill 让 Agent 记住你的流程和经验;
MCP 让外部工具和数据更容易接入 AI 应用。
真正有价值的,是回到自己的工作里想清楚:有哪些重复操作,可以先被 CLI 化;有哪些经验流程,可以沉淀成 Skill;有哪些外部工具和数据,适合用 MCP 接进来。
这才是 Agent 真正能提效的地方。
更具体的细节和落地经验,后面有机会再单独展开。
希望本文对大家有帮助,我们下次再见!
微信扫一扫赞赏作者
继续滑动看下一个
悟鸣AI
向上滑动看下一个